/*
 * Singularity Engine
 * Copyright (C) 2010 Vyacheslav Vorobyov, All rights reserved.
 * See LICENSE for full license information.
 */

package org.singularity.io;




/**
 * Specifies a factory interface for creation of input stream of DMEs.
 * 
 * @author vjache
 *
 * @param <VT> - a type of values this input provides.
 * 
 * @see org.singularity.io.DME
 * @see org.singularity.mapred.InputElement
 */
public interface Input<VT> extends Iterable<DME<VT>> {
	/**
	 * Creates a new iterator for input.
	 * @return a close able iterator over DMEs.
	 */
	@Override
	public CloseableIterator<DME<VT>> iterator();
}
